const defaultUserStore = {
  isLogin: false,
  userInfo: { id: null, name: '', score: 0 },
  loading: false,
  err: { msg: '' },
};

export default function userReducer(store = { ...defaultUserStore }, { type, payload }) {
  switch (type) {
    case 'REQUEST':
      return { ...store, loading: true };
    case 'LOGIN_SUCCESS':
      return { ...store, isLogin: true, loading: false, userInfo: { ...payload } };
    case 'LOGIN_FAILURE':
      return { ...store, ...defaultUserStore, ...payload };
    case 'LOGOUT_SUCCESS':
      return { ...defaultUserStore, userInfo: { ...payload } };
    default:
      return store;
  }
}
